package org.jeecg.modules.jxc.statistical.service;

import org.jeecg.modules.jxc.statistical.entity.JxcPurchaseList;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * @Description: jxc_purchase_list
 * @Author: jeecg-boot
 * @Date:   2021-12-20
 * @Version: V1.0
 */
public interface IJxcPurchaseListService extends IService<JxcPurchaseList> {

    /**
    * @description:  供应商进货退货联表
    * @param begin
    * @param end
    * @param state
    * @param key
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findSupplierJHAndTHTotalList(String begin, String end, String state, String key);

    /**
    * @description:  统一查询进货单 退货单具体数据列表
    * @param selectedNumber
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findGoodsListDetail(String selectedNumber);

    /**
    * @description:  修改供应商进货单支付状态
    * @param purchaseListId
    * @return java.lang.Boolean
    * @exception
    */
    Boolean putJHPayState(Integer purchaseListId);

    /**
    * @description:  修改销售单支付状态
    * @param saleListId
    * @return java.lang.Boolean
    * @exception
    */
    Boolean putXSPayState(Integer saleListId);

    /**
    * @description: 查询进货统计
    * @param sTime
    * @param eTime
    * @param goodsTypeId
    * @param codeOrName
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findJHTotal(String sTime, String eTime, Integer goodsTypeId, String codeOrName);

    /**
    * @description: 查询退货统计
    * @param sTime
    * @param eTime
    * @param goodsTypeId
    * @param codeOrName
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findTHTotal(String sTime, String eTime, Integer goodsTypeId, String codeOrName);

    /**
    * @description:  查询商品销售统计
    * @param sTime
    * @param eTime
    * @param goodsTypeId
    * @param codeOrName
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findXSTotal(String sTime, String eTime, Integer goodsTypeId, String codeOrName);

    /**
    * @description:  查询客户商品退货计
    * @param sTime
    * @param eTime
    * @param goodsTypeId
    * @param codeOrName
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findXTTotal(String sTime, String eTime, Integer goodsTypeId, String codeOrName);

    /**
    * @description: 获取时间范围每天数据
    * @param sTime
    * @param eTime
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findDayProfitList(String sTime, String eTime);

    /**
    * @description: 获取时间范围每天数据
    * @param sTime  xxxx-xx  月份
    * @param eTime  xxxx-xx  月份
    * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    * @exception
    */
    List<Map<String, Object>> findMonthProfitList(String sTime, String eTime);

}
